The Internet has provided new opportunities for most companies to advertise and sell products to a multitude of consumers, however, companies that sell complex or customizable products still face significant challenges. Customizable products are products that are made up of other products or component products. Component products typically complement each other in creating the customizable product, potentially allowing consumers to receive discounted pricing when the components are purchased as a group.
Computer companies, for example, may sell disk drives and monitors as well as other types of computer components. These companies may also group computer components together to form computer systems at discounted prices. Customers who want to buy a computer system can select among several alternatives for each component. For example, the company may provide three monitors for the customer to choose from when buying a desktop computer. As the number of components making up the customizable product increase, the more complex the decision making process is for the consumer to determine which components to select.
Most businesses are supported by attentive sales professionals who help the customer select the product, or combination of products, that best meet their specific requirements. Buying and selling over the Internet is more problematic because an expert sales professionals is not available to guide customers to choose the right product. Providing online access to product information for each sub-component without an explanation of how the components interrelate is not enough. Customer loyalty can be very fleeting in today's highly competitive online environment and frustrated customers can easily look for alternatives at a competitor's web site. Preferably, businesses utilize, fully integrated processes and systems that can handle consultative selling, intricate configurations, and complicated product relationships and options.
To achieve this, organizations in all industries are increasingly using product and service configurators. A configurator is a software tool developed by the product or service provider, that allows customers to find the products that suit their unique requirements. In some cases, configurators are integrated with a set of business rules that help guide the customer as would a sales professional.
Today, however, configurators are simply point products that do not fully address the needs of organizations with complex, multichannel sales environments, and application integration requirements. These configurators often use complex procedural programming based modeling tools, to define product relationships and business rules, that are difficult to use, costly to maintain, and hard to upgrade.
These configurators are treated essentially as big shopping carts containing a bunch of pre-defined “bags”, one for every possible component product. Consequently, the supported configuration rules only provide constraints to the total amounts of each component product to be added. Therefore, there are many configurators with configuration rule semantics which cannot be implemented well in such a weakly structured framework.
For example, suppose a configurator consists of computers and power supplies, where every computer must have a power supply. And further suppose that U.S. computers require 110V power supplies while European computers require 220V power supplies. Here, current configurators have difficulty correctly modeling, for instance, an order having two computer systems, one for each locale. If a configuration rule denotes that mismatched computers and power supplies must exclude each other, then neither of the desired computer systems may be placed together in the same order. Yet if such a configuration rule did not exist then it would incorrectly allow configuring incompatible single systems. This is ultimately because the products are just “bagged together.”
Another problem with procedural programming based configurators is the lag-time taken in making changes to the configurator. Configurators are normally designed and modeled with the help of an expert for the product being sold. Configuration experts, such as a sales professional or a product manager, explain to the software designer, the relationships between the component products in making the customizable product. Software engineers then program the software to present the products to the customer.
In many cases, the updating of a configurator consists of the software engineer(s) receiving the requested configurator changes from various configuration experts. The software engineer then reprograms the new components and/or configuration rules into the procedural programming-oriented source code of the configurator software. Therefore, there is usually a significant lag-time between a requested change to the configurator business model, and the time the software engineer reprograms the software.
Significant programming lag-time results in inaccessible and inaccurate information that extends sales cycles, increases the percentage of inaccurate quotes and orders, raises costs due to a greater number of returned items, and delays the timing in bringing new products to market. These inefficient and unreliable configurators often result in lost revenues and dissatisfied customers. As the rate of new customizable and component products increases these problems proliferate.